#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
const int N=300010;
vector<pair<int,int>> add,query;
vector<int> all;
int a[N],s[N];
int n,m;

int find(int x){
  int l=0,r=all.size()-1;
  while(l<r){
    int mid=l+r>>1;
    if(all[mid]>=x) r=mid;
    else l=mid+1;
  }
  return r+1;
}
int main(){
  cin>>n>>m;
  for(int i=0;i<n;i++){
    int x,c;
    cin>>x>>c;
    add.push_back({x,c});
    all.push_back(x);
  }
  for(int i=0;i<m;i++){
    int l,r;
    cin>>l>>r;
    query.push_back({l,r});
    all.push_back(l);
    all.push_back(r);
  }
  sort(all.begin(),all.end());
  all.erase(unique(all.begin(),all.end()),all.end());
  for(auto x:add){
    int i=find(x.first);
    a[i]+=x.second;
  }
  for(int i=1;i<=all.size();i++) s[i]=s[i-1]+a[i];
  for(auto x:query){
    int l=find(x.first),r=find(x.second);
    cout<<s[r]-s[l-1]<<endl;
  }
}
